#include <stdio.h>

/*模拟卷2*/
//C语言
//将一个数组每个元素平方，并排序非递减
/*算法思想：
 * 使用插入排序的思想重构数组；
 * 将数组分成已排序和未排序连部分；
 * 依次从后面取元素平方后插入对应位置；（在同一块空间）*/
void fun(int *list,int len){
    int curLen = 0;s
    int p = 0;
    while(p < len){
        int cur = list[p];
        int index = curLen -1 ;
        while (index >= 0){
            if((cur*cur) <= list[index]){
                list[index+1] = list[index];
                --index;
            } else break;
        }
        //插入
        list[index+1] = (cur * cur);
        //已排序长度+1
        curLen ++;
        p ++;
    }
}




int main(){

    int arr[] = {3,2,4,5,6,7,8,9,7,8};
    fun(arr,10);
    for (int i = 0; i < 10; ++i) {
        printf("%d ",arr[i]);
    }


    return 0;
}